It has become common practice to download programs from a server connected to the Internet, using a mobile phone having a packet communication function.
While the Internet enables people worldwide to exchange programs freely, it also has inherent risks, including for example, data theft from a communication device. Also, a program which causes a malfunction in a communication device may be provided without malicious intent. In view of these risks, user privacy is a major concern.
It is possible to restrict the functions of programs provided to mobile phones. For example, a mobile phone which is able to execute programs written in Java® imposes restrictions on such programs. Specifically, programs are only authorized to access the following resources, 1) a server that downloads a program(s), and 2) a storing area assigned to a program(s), and programs are not authorized to access resources such as a user's telephone number, e-mail address or telephone book data. Further, a mobile phone is able to ensure security for personal information stored in a communication device by processing such personal information using only native programs. An example of such technology is described in the following reference:    i Apuricontentsukaihatsuguide for 504i Syousaihen Internet<URL http://www.nttdocomo.co.jp/p_s/imode/java/>Here, a native program means a program to be written in a memory of a mobile phone which is not yet publicly available.
The mechanism of limiting access to resources, as described above, provides some security for users of mobile phones, However, it causes various limitations in the operation of downloaded programs. That is to say, it restricts program diversification. The present invention has been made with a view to overcoming the above-mentioned problems, and has as its object the provision of technology for providing a diversity of programs while ensuring the security of the data stored in a communication device such as a mobile phone.